Categories

Versions

Subprocess (Parallel) (Operator Toolbox)

Synopsis

This operator allows to define multiple sub-processes to be run in parallel.

Description

The Subprocess (Parallel) operator allows to define one more sub-processes to be run in parallel. The operator awaits the completion of all embedded processes before continuing.

Inputs connected to the operator are visible to all embedded processes and multiple processes can safely work on the same input. However, there is no requirement that embedded processes consume all inputs.

If more than one embedded process returns a result for an output port, the results are grouped into a collection. This behavior can be prevented by using dedicated output ports for each embedded process, e.g., by connecting the result of the first and second embedded process to the first and second output port respectively.

Please note that while macros defined in the parent process are available in the embedded processes, macro values changed in the embedded processes will not be propagated back to the parent process.

Input

  • input (IOObject)

    The Subprocess (Parallel) operator can have multiple inputs. When one input is connected, another input port becomes available which is ready to accept another input (if any).

Output

  • output (IOObject)

    The Subprocess (Parallel) operator can have multiple outputs. When one output is connected, another output port becomes available which is ready to deliver another output (if any).

Parameters

  • enable_parallel_execution

    Enables the parallel execution of embedded processes.

    Range:

Tutorial Processes

Parallelize sub-processes

This example demonstrates how the Subprocess (Parallel) operator can be used to reduce the overall runtime of a process. It furthermore shows how outputs from multiple embedded processes are combined.